/* 公共js内容 */
//公共根路径
axios.defaults.baseURL = 'http://www.liulongbin.top:3007'

// 从需求出发，没必要所以的请求，都添加 token 认证，这样注册和登录也会进行设置
// axios.defaults.headers.common['Authorization'] =localStorage.getItem('token')

//请求拦截器
// use方法里面可以传递两个函数
axios.interceptors.request.use(
  function (config) {
    //打印 config 参数
    // console.log(config)
    //判断路径中，是否包含 /api 或者 /my
    //或者 >= 0 或者 !== -1 或者 > -1 都说明查到了
    if (config.url.indexOf('/my') !== -1) {
      //这样赋值，不会影响原来的头信息设置
      //所以头信息的设置，不要使用对象赋值，要使用 .属性 ，不会出现覆盖
      config.headers.Authorization = localStorage.getItem('token')
    }
    //修改完毕的config需要返回
    return config
  },
  function (error) {
    //将来讲解 Promise 对象，详细信息
    return Promise.reject(error)
  }
)

//响应拦截器
axios.interceptors.response.use(
  function (response) {
    if (response.data.message === '身份认证失败！') {
      //跳转到登录页面，销毁token
      location.href = '/login.html'
      localStorage.removeItem('token')
    }
    return response
  },
  function (error) {
    return Promise.reject(error)
  }
)
//格式化日期方法
function formatDate(time) {
  let dt = new Date(time)
  let y = dt.getFullYear()
  let m = padZero(dt.getMonth() + 1)
  let d = padZero(dt.getDate())

  let hh = padZero(dt.getHours())
  let mm = padZero(dt.getMinutes())
  let ss = padZero(dt.getSeconds())

  return `${y}-${m}-${d} ${hh}:${mm}:${ss}`
}

//补零函数
function padZero(n) {
  return n < 10 ? '0' + n : n
}
